package com.yfp.client.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yfp.common.core.text.PlusSignBigDecimalSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 余额变动明细展示类
 */
@Data
public class ClientBillVO implements Serializable {

    private static final long serialVersionUID = 1063838115775293902L;

    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 类型[1充值,2消费,3退款]
     */
    @Schema(description = "类型[1充值,2消费,3退款]")
    private Integer type;

    /**
     * 金额
     */
    @Schema(description = "金额")
    @JsonSerialize(using = PlusSignBigDecimalSerializer.class)
    private BigDecimal money;

    /**
     * 赠送金
     */
    @Schema(description = "赠送金")
    @JsonSerialize(using = PlusSignBigDecimalSerializer.class)
    private BigDecimal giftGold;

    /**
     * 订单编号
     */
    @Schema(description = "订单编号")
    private String orderSn;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "创建时间")
    private Date createTime;

}
